package com.qf.team2.netdisc.service;

import com.qf.team2.netdisc.common.pojo.entity.Document;

import org.springframework.stereotype.Controller;
import org.springframework.web.multipart.MultipartFile;

/**
 * 文件上传服务接口
 *
 * @author Simon_Wong
 * @date 2021/05/26 11:14
 */
@Controller
public interface DocumentUploadService {
    /**
     * 查询文件是否为空，用户容量是否足够
     *
     * @param id       用户id
     * @param fileSize 文件大小
     * @param file     文件
     * @return boolean
     */
    boolean checkUserCapacity(Integer id, Long fileSize, MultipartFile file);

    /**
     * 查询文件上传的路径
     * @param fileId
     * @return
     */
    /*String checkFilePath(Integer fileId,Integer userId);*/

    /**
     * 上传文件
     *
     * @param filePath 文件路径
     * @param file     文件
     * @param fileSize 文件大小
     * @param userId   用户id
     * @return {@link Document}
     */
    Document checkFileUpload(String filePath, MultipartFile file, Long fileSize, Integer userId);

    /**
     * 文件上传成功修改父级容量
     *
     * @param size   大小
     * @param url    url
     * @param userId 用户id
     * @return {@link Integer}
     */
    Integer updateParentFileSize(Long size, String url, Integer userId);

    /**
     * 查询文件是否重名
     *
     * @param url    url
     * @param userId 用户id
     * @param name   文件名
     * @return boolean
     */
    boolean checkFileName(String url, Integer userId, String name);

}
